1. Field of the Invention
This invention is generally related to imaging systems and more particularly to correcting for deviations in the response of manufactured color image sensors.
2. Related Art
Sensors that respond to incident electromagnetic radiation are used in a wide range of applications, from the simple infrared photodetector used in home security systems for detecting intruders to complex medical imaging applications. One particular type of sensor is the image sensor used for capturing images of scenes. Image sensors are used in consumer products such as video cameras, scanners, copiers, and, more recently, digital cameras which provide digital images in a computer-readable format that are manipulated and displayed by a host processing system such as a personal computer (PC). To detect color, image sensors are equipped with color filters that allow the sensor to respond to different colors in the scene.
Processing of color images is typically achieved using the following mathematical construct. The digital image is defined as a collection of vectors where each vector has several pixel value components generated by the sensor. For instance, in RGB imaging, each vector contains Red, Green, and Blue components that together define the color at a given location in the image. Each color is thus analogous to a point defined by 3 components in a 3-dimensional cartesian coordinate space. The same color (point) can, however, be represented using different color models (coordinate spaces). For instance, a color defined by an RGB vector can also be defined by an XYZ vector, where the XYZ vector is a linear combination of three vectors in the XYZ color space as defined by the industry standard CIE (Commission Internationale de l""Eclairage). This ability to represent the same color using different color models is advantageous because certain imaging applications are designed to work with a particular set of colors. For instance, many graphics software programs manipulate images in the XYZ color space, whereas many sensors generate RGB pixel values (where RGB is said to be the xc3xanative color spacexc3xad of the image sensor).
The translation between two color spaces can be achieved with known linear algebra techniques. A vector s in one color space can be multiplied by a color transformation matrix {tilde over (K)} yield the corresponding vector d (pointing to the same point or color) in the desired color space.
d={tilde over (K)}sxe2x80x83xe2x80x83(1)
Standard transformation matrices have been developed for transformation between many different fundamental color spaces, including for example CMY (Cyan, magenta, Yellow) to XYZ or RGB to XYZ.
The transformation matrix technique has also proved to be useful in calibrating color imaging systems to correct for deviations in sensor response due to non-idealities such as manufacturing process variations. For calibration purposes, the elements of a transformation matrix {tilde over (K)} are replaced with values that are specific to a manufactured image sensor used in the imaging system. This yields a xe2x80x9ccalibratedxe2x80x9d transformation matrix {tilde over (K)}sensor where
d={tilde over (K)}sensorsxe2x80x83xe2x80x83(2)
{tilde over (K)}sensor is obtained by solving equation (2) using techniques known in the art, where s is the actual (or measured) response of an imaging system (in the native color space) to known color stimuli, and d is the expected response in the desired color space. The expected response d is based on design criteria used in manufacturing the sensor and in particular the color filters used in the sensor.
The elements of {tilde over (K)}sensor are typically stored in a non-volatile memory associated with the corresponding sensor and provided to the developer of the imaging system who applies the matrix to each vector of pixel values in a captured image to obtain a corrected and therefore more accurate image in the desired color space.
A problem, however, arises when attempting to store the elements of {tilde over (K)}sensor for sensors fabricated using certain technologies such as a standard complimentary metal oxide semiconductor (CMOS) logic fabrication process. Fabricating a non-volatile storage area on a CMOS logic die normally requires a substantial increase in the size of the die and/or significant deviations from the standard fabrication process. These problems are aggravated when there are a large number of precision values that need to be stored, e.g., a sensor with native color space having three base colors requires nine high-precision values, corresponding to the nine elements of the 3xc3x973 matrix {tilde over (K)}sensor.
To avoid having to increase the die size of a CMOS sensor and/or deviate from standard manufacturing processes, the elements of {tilde over (K)}sensor can be stored external to the sensor die. This, however, forces the sensor manufacturer to provide the calibration information separate from the sensor itself via a floppy disk, additional die, or some other separate storage media, when each sensor is shipped to the system developer. Use of a separate storage element in this way becomes a significant burden when shipping a large number of sensors.
Therefore, a more efficient technique of representing calibration information of image sensors for easier storage in the sensor die is needed.
In one embodiment of the invention, a method is provided for generating a set of parameters and an associated methodology that model a portion of the variation in a number of sensor-specific correction matrices, the parameters being fewer than the number of elements in one of the sensor-specific correction matrices.
Additional features and benefits of the invention will become apparent from the detailed description, figures, and claims set forth below.